The present invention generally relates to computer graphical user interfaces (GUIs) and more particularly, to a system for automatically adjusting graphical user interface windows and objects for computers according to the size and content of the object presented.
Presently, graphical user interface (GUI) windows and icons displayed on conventional computer systems have a fixed rectangular shape of a predetermined size. The current GUI technology enables users to manually resize the window by minimizing, maximizing, and dragging the corners of the rectangular window to a desired size. For example, if the window size is larger than the content displayed on it, the window would contain a blank area which need not be viewed. In such instances, a user typically minimizes the window to a size needed to display the content, leaving the background area in the screen space for other use. In other cases where the content of the window, such as texts and graphic pictures, need larger display area than the predetermined window size, a user is required to scroll through the window and/or manually resize the window by maximizing or dragging the corners of the rectangular window to a desired size to be able to view the rest of the content contained in the window. For example, in xe2x80x9cunflowed textxe2x80x9d typically found in documents edited with text editors such as emacs or vi, when lines of text extend past the right edge of a window displaying the text, the user manually scrolls to the right using a scroll bar to view the rest of the line of the text, scrolling back to the left to re-view the left portion of the text line. The manual scrolling becomes a burdensome task, especially when the user needs to navigate back and forth between left and right sides of the windows in order to view the content. Moreover, although maximizing a window may reduce the problem associated with manual scrolling, maximization typically results in overlapping and covering up the rest of the screen space, and thereby obscuring the view to other displayed items or objects on the screen space. Therefore, it is highly desirable to provide a capability in GUI to dynamically and automatically resize the window according to the content displayed in it, and to eliminate or reduce a need for manually adjusting the window sizes, thereby reducing the burden on a user.
Moreover, the manual resizing in conventional GUI windows produces the same four-sided rectangular shape regardless of the content displayed. For example, the text contained inside a window may only have few lines exceeding the length of the window. Although only the portion of the window having those lines need to be resized, the conventional window resizing technique resizes the whole window, i.e., increases one or more sides of the windows to view those few lines. Such increase in the size of the window may result in overlapping of other windows on the screen space, and thereby obscure the views of the affected underlying windows. Therefore, it is also highly desirable to provide a capability to resize the windows automatically and dynamically based on the shape and the size of the displayed objects.
A graphical user interface (GUI) for computer systems typically include a capability to present on a screen space a plurality of windows each of which may have a different application running under it, providing a user with the appearance of the multitasking capabilities. More often than not, during a typical user session in a given computer system, a user is likely to take the advantage of such a capability to access more than one application by opening separate windows for each application. However, when a plurality of windows are displayed on a limited display space, i.e., a screen space limited by the physical size of a display monitor or terminal, it becomes difficult to view all the windows at once. Inevitably, some items or windows become obscured by the overlapping windows or objects. Moreover, the multiple window displays are presented in a disarray, requiring considerable time and effort by users to search for desired windows or other objects such as icons which are visually obscured by other windows. Frequently, users do not even realize that they have various active windows on their screen and available for their use. Therefore, it is highly desirable to provide a capability for users to easily view and recognize what windows are currently open on the screen space without having to navigate through each and every open window.
The present invention provides GUI capabilities to automatically and dynamically size and reshape windows on a computer display terminal. The automatic sizing criteria may be based on the content displayed in the window. For example, in a window displaying a text, each line of the window is automatically adjusted at the right borders according to the amount of text on a line. Similarly, displayed objects such as graphic pictures are displayed according to the outlines or boundaries of the pictures instead of being displayed in rectangular frames. Thus, the present invention provides capability to dynamically size display items, not limited to text lines, including icons and animated images. Similar adjustment are be made to the window that includes pictures having different sizes from the window size.
The dynamic reshaping of a window in the present invention may be embodied in any direction. For example, the window may be resized at the top, bottom, left, and right, according to the geometric shape of an item or the content of the item being displayed.
Furthermore, the present invention provides a capability to set a default minimum and maximum size of a dynamically adjustable window such that a particular line will not become smaller or larger than a preset thresholds. Moreover, the thresholds may be determined by the user, for example, by including in a user profile stored on storage media. Alternatively, they may be determined automatically by a computer system based on various criteria including: 1) mathematical relationship based on a user""s past thresholds, for example, if the user has on the average set a minimum length of 4 inches, the system sets this minimum length as default; 2) parameters specified in the document being displayed in that window.
An advantage with the dynamic reshaping of the present invention is that no manual adjustment of the windows are necessary to view the total content. Moreover, because only necessary portions of the window are reshaped or resized, the rest of the screen space is less likely to be obscured from the user""s view as is normally done in conventional rectangular windows.
The aforementioned concepts also apply to 3-D environments in which information is presented in a 3-D form. For example, in a virtual reality environment, a 3-D window may conform to the contents of the window as described herein.
Additionally, the present invention provides a GUI which enables windows to become transparent such that other underlying windows may be viewed without having to close or resize the top windows. With transparent overlying windows, a user can locate and select background windows which would normally be obscured from view by foreground windows.
The transparent windowing capabilities of the present invention are provided by having the foreground windows become transparent and allowing obscured windows to produce xe2x80x9cghostsxe2x80x9d through the foreground window. The present invention enables the background window to be seen and selected with a selection device such as a mouse-driven cursor. The transparent windowing provided by the present invention enables an underlying window to be selected, by bringing it to the foreground by pointing at the obscured window""s title bar. Alternatively, the underlying window need not be brought to the foreground in order to be selected. The present invention allows an option to select the windows to be in a transparency mode. Option to have transparent windows may be set by selecting an appropriate icon, pressing a key, or waiting for a predetermined amount of time to lapse. Selecting such an option, therefore, would return the windows and objects to a normal state.
Further features and advantages of the present invention as well as the structure and operation of various embodiments of the present invention are described in detail below with reference to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements.